約 5,010,693 件
https://w.atwiki.jp/battlestationsmidway/pages/34.html
―――メニュー画面――― Stationed at Pearl 真珠湾駐留 December 7,1941. 1941年12月7日 Report for duty to the USS Phoenix in Pearl Harbor パールハーバーのUSSフェニックスに出勤せよ ―――任務画面――― Stationed at Pearl 真珠湾配置 1 Go to the USS Phoenix! 1 USSフェニックスに行け! date December 7,1941. 1941年12月7日 ―――History――― MISSION BACKGROUND 作戦背景 Pearl Harbor,7 December 1941. 0745 hours Zulu time. 真珠湾、1941年12月7日、グリニッジ標準時0745時。 Lt.Henry Walker,a recent graduate of Annapolis Naval Academy,has spent the night carousing wth his old baddy,Major Donald Locklear,ahead of the two of them assuming new posting. アナポリス海軍兵学校新卒者のヘンリー・ウォーカー大尉は古い悪友のドナルド・ロックリアとふたりの新ポストを祝して一晩中飲み明かした。 Henry is receiving his first shipboard posting on the cruiser USS Phoenix,while Donald,a veteran of the Sina-Japanese war with the American Volunteer Group The Flying Tigers ,will soon be en route to Midway Island to join the Marine Fighter Squadron stationed there. ヘンリーは巡洋艦USSフェニックスでの初の艦上勤務の発表を受け、同時に日中戦争でのアメリカ人義勇部隊『フライング・タイガース』のベテラン、ドナルドはしばらくの後にそこに駐屯する海兵隊飛行隊への転属のためにミッドウェイ島への旅路につく予定でした。 As the sun comes up on another glorious Hawaian morning,the two friends muse on what is to become of them. いつもと同じ壮麗なハワイの朝に、ふたりの友はこの先、何になるかを考えていました。 ―――戦力構成画面――― ORDER OF BATTLE 戦力構成 Elco PT Boat 1 ―――ロード画面――― December 7,1941. 1941年12月7日。 Stationed at Pearl 真珠湾配置。 Check your speed whilst at the helm of the PT boat these small boats are very fast!A collision with another craft is not a pretty sight PTボートの舵輪を握っている間はスピードに気をつけろ。小さなボートはとても速い!他の船舶との衝突は見られたもんじゃない。 Focus AA fire on enemy fighters.AA is deadly against units with little or no armor 敵戦闘機にAA射撃を集中させろ。AAは非装甲、軽装甲目標に対しては非常に有効だ。 PT boats are equipped with Depth Charges(DC).Use them against enemy submarines PTボートは爆雷を装備している。敵潜水艦に使用せよ。 Torpedoes travel a few meters below the surface,so cannot harm your shallow-draft PT boat 魚雷は喫水の浅いPTボートの妨害にならない海面から数メートル下を移動する。 ―――デモ画面にあってはMovie 1を参照――― ―――ゲーム画面――― "Go to the USS Phoenix!" 『USSフェニックスへ行け!』 "Move the left stick up/down to control your ship s throttle." 『左スティックの上下で船のスロットルを操作できる』 Sailor Welcome aboard,sir.Where to? 乗船を歓迎します、サー。どちらへ? "To try swapped sticks,press START and go to Options" 『スティックを入れ替えるには、STARTを押してオプションへ行け』 Henry At ease,sailor.Battleship Row.The Phoenix. 気楽に、水兵。戦艦群。フェニックス。 "To try inverted camera control,press START and go to Options." 『カメラ制御を逆転させるには、STARTを押してオプションへ行け』 Sailor Aye,sir.Want to take the wheel? アイ、サー。舵輪を握りますか? Henry You bet. もちろん。 "Move the left stick left/right to steer your ship." 『左スティックを左右に動かして船の舵を取れ』 "Use the right stick to look around." 『周りを見まわすには右スティックを使え』 "Go to the USS Phoenix!" 『USSフェニックスへ行け!』 Saior Beautiful morning,sir. 良い朝です、サー。 Henry Best time of the day... 一日で最高の時間だな……。 Makes Pearl look like the world s biggest boating pond. 真珠湾がまるで世界最大のボート池みたいだ。 Sailor Quickest way to the Phoenix is through this channel on the right,sir. サー、フェニックスへの最短距離はこの水路を右に行くのがよろしいかと。 Henry Don t worry sailor,I know where I m going. 心配ない、水兵。どこへ行けば良いかは分かってる。 ―――デモ画面はMovie 2を参照――― "Survive the first attack wave!" 『第1波の攻撃から生き残れ!』 Henry We have incoming enemy aircraft! 敵機接近! Sailor Sir,we re under attack! サー、攻撃を受けています! Henry Get those 50 cals firing! 50口径を喰らえ! Give the air group cover to get up! 航空隊が立ち上がるまで耐えるんだ! Sailor What the hell s going on,sir? 何が起こってるんですか、サー? Henry Those are Japanese planes,sailor. あれは日本の航空機だ、水兵。 And they ain t dropping Christmas presents. そして、彼らはクリスマスプレゼントを投下しに来たわけじゃない。 "Pull the right trigger to fire your guns." 『機銃を撃つには右トリガーを引け』 ―――撃墜時ランダム――― Sailor I got one!I got one! 1機撃墜!1機撃墜! Henry Good shooting,sailor.Now keep firing! みごとな射撃だ、水兵。さあ、撃ち続けろ! ―――撃墜時ランダム――― Henry Nice work boys,he s going down. 良くやった。奴は落ちていく。 ―――撃墜時ランダム――― That s another one!Good hunting! もう1機だ!良いぞ! ―――撃墜時ランダム――― We got em! Enemy squadron is down. やったぞ! 敵編隊を撃墜。 ―――新手出現時ランダム――― We have incoming enemy aircraft! 敵機接近! ―――アリゾナ沈没時――― Sailor Oh my god.Arizona s gone.Arizona s gone! なんてこった。アリゾナが沈む。アリゾナが沈んでる! Explosion that big,her magazine s gone up! あんなに巨大な爆発が……弾薬庫が誘爆したんだ! ―――友軍から攻撃――― We re on your side,goddamnit! 味方だぞ、くそったれ! ―――オクラホマ沈没時――― Sailor Sir!Oklahoma s rolling over! サー!オクラホマが横転しています! Henry Good God,those poor bastards! あのみすぼらしいろくでなしどもには良い神がついてるらしいな! Pumps are overwhelmed,sir.we re sinking. サー、ポンプが間に合いません。沈んでいます。 ―――敵機全滅――― ―――デモ画面にあってはMovie 3を参照――― Sailor Periscope in the water,sir!Over there! サー、ペリスコープが海面に!あそこです! Henry Ready the depth charges!I ll take us in right over her! 爆雷用意!俺が奴の真上に連れて行ってやる! "Pull the left trigger to switch to depth charges." 『爆雷に切り替えるには左トリガーを引け』 "Destroy the enemy mini-sub!" 『敵の小型潜水艦を破壊せよ!』 ―――敵潜水艦撃沈時――― Sailor We got her!Enemy sub is heading for the bottom. やったぞ!敵潜水艦は沈んでいく。 We got it!We got it! やったぞ!やったんだ! Henry Great work,crew. 良くやった。 ―――デモ画面にあってはMovie 4を参照――― Enemy air forces are inbound 敵編隊接近 Donald This is Major Locklear,out of Haleiwa airfield,call-sign Eagle 1. こちらハレイワ飛行場から離陸したロックリア少佐、コールサイン・イーグル1。 Am in pursuit of Japanese bogeys. 現在、日本の敵機を追尾中。 Lieutenants Welch and Taylor accompanying. ウェルチ大尉とタイラー大尉が随伴。 That s a roger,Eagle 1.Send those bastards to hell! 了解、イーグル1。そのろくでなしどもを地獄に送ってやれ! Donald My thoughts entirely.Eagles 2 and 3,engage at will. 全くその通りだ。イーグル2、3、各個戦闘。 "Zeros!They re closing fast!" 『ゼロだ!急速接近中!』 "Take revenge for Pearl Harbor!" 『真珠湾の仇を討て!』 "1 killed!" 『1機撃墜!』 Donald Plenty more where he came from,Lieutenant. さらにたくさん来たぞ、大尉。 Keep fighting! 戦い続けろ! Intercept was successful,bogies are down. 迎撃成功、敵機撃墜。 Sir,we have sighted an enemy vessel. サー、敵艦を視認。 Alright!I bagged me another one! 了解!もう1機を追尾中! "2 kille!" 『2機撃墜!』 Donald Score one for the good guys! That s confirmed kill. 確定撃墜です。 We have incoming enemy fire! Enemy bogey has been neutralised,sir. "3 killed!" 『3機撃墜!』 Great shooting,sir! お見事です、サー! Donald Stay focused,Lieutenant! 集中してろ、大尉。 I don t want to be writing your mother a letter. 俺はお前のお袋さんに手紙を書きたくない。 "4 killed!" 『4機撃墜!』 That s a kill. "5 killed!" 『5機撃墜!』 That s a confirmed kill. Target aircraft have been neutralised,sir. 目標機は無力化されました、サー。 Enemy ship spotted,sir. 敵艦捕捉しました、サー。 "7 killed!" 『7機撃墜!』 Alright!I bagged me another one! "8 killed!" 『8機撃墜!』 Enemy plane is going down! 敵機が落ちていきます! Donald Remember,squad,shoot where your target is going to be,not where it is. 小隊へ、自分の目標がいる場所ではなくそれが行く先を狙うのを忘れるな。 It should only take a short burst to send these crates down. このオンボロ飛行機を落とすにはほんの短い一連射で十分だろう。 Donald Watch out for their tail-gunners! 後部銃座に気をつけろ! Attack from above or below to minimise their firing arc! 連中の射界を最低にするには上か下から攻撃しろ! Donald Keep your speed up and maintain altitude! スピードを上げて高度を保て! "Mission Completed" 『任務完了』 "No more Japanese planes" 『日本機全滅』 ―――デモ画面はMovie 5を参照――― ―――新聞号外――― JAPAN ATTACKS U.S. IN PACIFIC 日本が太平洋で合衆国に攻撃をした ―――作戦結果――― Primary Objectives 主目標 Go to the USS Phoenix! USSフェニックスへ行け! Survive the first attack wave! 第一波の攻撃から生き残れ! Destroy the enemy mini-sub! 敵小型潜水艦を破壊せよ! Your unit must survive! 部隊を生き残らせろ! Take revenge for Pearl Harbor! パールハーバーの復讐をしろ! Donald must survive! ドナルドを行き残らせろ! Hidden Objectives 隠し目標:
https://w.atwiki.jp/aciii/pages/121.html
Desmond Files3 +生存者 2012/09/14 11:17 イタリア フィレンツェ「生存者」 どうやら9月12日にブリティッシュコロンビア州ウィスラーで殺されたアサシンは全員では無かったらしい。あそこに駐留していた血盟の内、最低でも一人は生き残ったようだ。 以下、添付されているメールの全文"buried"は仕事漬けになるという事と、実際に死亡して埋められるというダブルミーニングと思われる。 From Adreano M. Subject Business trip cut short Sent Sept. 14th, 2012 11 17 To William M. My business contact in BC informs me that one of our associates cut short his visit. He was last seen leaving the convention center. Apparently, he left Whistler because he didn t want to be "buried" in work there, like his colleagues. I expect him to turn up soon. Will keep you posted. 送信者:アドリアーノ.M 件名:出張取り止め 送信日時:2012/09/14 11:17 宛先:ウィリアム.M BCにいる我々のビジネスパートナーから、仲間のひとりが出張を切り上げたと連絡がありました。コンベンションセンターを出て以降の行方は知れません。 同僚と同じように仕事に"埋没"したくなかったのでしょう。ウィスラーから去ったようです。 彼とはすぐに会えるはずです。 また連絡します。 +襲撃 2012/09/15 21:09 イタリア ローマ「襲撃」 ウォーレン・ヴィディック博士自ら指揮するアブスターゴの襲撃部隊が隠れ家を急襲。 +北の山小屋 2012/09/15 21:30 スイス アルプス「北の山小屋」 再び潜伏するため、ルーシーは隔離された小屋に彼女のチームを移動させることを計画した。 この隠れ家は欧州のこの地域では数少ない、アサシンが周囲の疑念を呼ぶことなく安全にアニムスを設置できる場所の一つだ。 この場所は200年以上に亘って、血盟の安全な隠れ家で在り続けた。第二次世界大戦中、あるアサシンの集団がこの小屋に本部を設営。彼らはスイスの荒野から、マキに訓練を施し、物資を与え、情報収集に協力し、時には彼らを導き、ドイツの歩哨たちを待ち伏せるのを手助けした。D-デイ以後もアサシン教団はマキの支援を継続し、連合国軍が迅速にフランス全土を掌握できるよう努めた。 +道路封鎖 2012/09/16 01:01 イタリア グロセット「道路封鎖」 Lucy Shit! There’s a roadblock up ahead. They must have known we’d go north. Desmond Where exactly are we? Rebecca Check the map. Is there anywhere safe we can set up the equipment? Someplace with good cover? A cave, anything. Shaun No, there’s nothing around here-- Hello. Take E78. Lucy What-- Shaun This exit. Turn! Lucy I hope you actually have a plan. Shaun Wait until you see where I’m taking you. ルーシー : 道路が封鎖されてる!私達が北に向かうこと、知られていたんだわ。 デズモンド : 現在地はどこなんだ? レベッカ : 地図を見て。どこか、アニムスを設置できそうな安全な場所はない?洞窟とかそういうところ。 ショーン : いや、この辺には何も――いや待った!E87号線に入ってくれ! ルーシー : どういうこと? ショーン : ほら、ここだ!曲がって! ルーシー : ちゃんと計画があるんでしょうね? ショーン : 行けば分かるさ。 添付されている書類は、イタリア警察発行の道路封鎖措置命令書。優先度最高、機密度最高に分類されている。 +聖域 2012/09/16 03:13 イタリア モンテリジョーニ「聖域」 ルーシーと彼女のチームは、エツィオ・アウディトーレ・ダ・フィレンツェ(デズモンドのルネサンス期の先祖)が使用していた聖域があるモンテリジョーニに到着し、地下の隠れ家に新たな拠点を設営し始めた。 ヴィラ・アウディトーレの地下深く。この隠れ家はルネサンス期のイタリアの血盟が用いていた。聖域の心臓部は、七人の伝説的アサシンの像に囲まれた大きな円形の部屋だ。数世紀前に建造されたにも関わらず、聖域は今日でも無傷のまま現存している。壁が厚く、地下に位置するため、聖域はあらゆる電子信号が遮断されている。 +目撃者 2012/09/17 12:08 イタリア フィレンツェ「目撃者」 本文なし。以下、添付されているメールの全文 From Adreano M. Subject RE Business trip cut short Sent Sept. 17th, 2012 12 08 To William M. Good news! Our associate is back. He ll meet me at the office tomorrow, and I plan to take him out to lunch. I m sure he has plenty to say, and there s much I can learn from him. BTW, he did mention something that could be of interest The man who led our main competitors in Whistler fits the description of an old business rival... You know, the guy who deceived a certain "CEO" of ours, some 12 years ago. I ll know more soon. 送信者:アドリアーノ.M 件名:RE 出張取り止め 送信日時:2012/09/17 12:08 宛先:ウィリアム.M グッドニュースです!同僚が帰ってきました。明日オフィスで会えるので、彼をランチに連れて行くつもりです。報告したいことが山ほどあるでしょうし、私も知りたいことがありますので。 ところで、彼は興味深い事を言っていましたよ。ウィスラーで我々の最たる競合相手を率いていた男についての供述が、我々の古いライバルの特徴と一致するのです。12年前、我々の"最高経営責任者"を騙したあの男です。 続報は追ってお知らせします。 +アニムスの記録 2012/09/18 07:54 イタリア ローマ「アニムスの記録」 アブスターゴ社の保安要員が放棄された隠れ家を捜索し、アニムスでのデズモンドのセッションの記録を発見。 明らかにアサシン教団の不注意だ。 +脳インプラント 2012/09/18 10:46 アメリカ モントレーベイ「脳インプラント」 恐らく、このメールで"R"が言及しているのはこの記事だろう。http //www.smh.com.au/technology/sci-tech/a-chip-to-repair-the-brain-20120916-25ztk.html 本文は以上のみ。以下は、画像で添付されている"R"と"V"によるメールのやりとり。おそらく、"R"はアブスターゴ社CEO アラン・リッキン、"V"はウォーレン・ヴィディック博士と思われる。 From R Subject Brain Chip Sent Sept. 18th, 2012 10 16 To V Someone from Future Tech called to attention an article published last week in the Journal of Neural Engineering and a possible leak in an Australian paper. Something to do with brain implants. Wouldn t be doing my job if I didn t ask... Does this have anything to do with the sudden departure of our latest subject? 送信者:R 件名:脳チップ 送信日時:2012/09/18 10:16 宛先:V フューチャーテック社のある人物から警告を受けた。神経工学誌に先週掲載された記事と、オーストラリア紙への情報漏洩の可能性についてだ。脳インプラントと関係がある何かだ。 仕事上の責務だから聞くのだが…あれは我々の最新の被験体に関する進行の遅れと関連が有るのか? From V Subject RE Brain Chip Sent Sept. 18th, 2012 10 46 To R No need to worry. We have nothing to do with the study. It s an independent thing. Please remind the brains from Future Tech we re already years ahead. And for the record No,this has nothing to do with 17. 送信者:V 件名:RE 脳チップ 送信日時:2012/09/18 10:46 宛先:R ご心配には及びません。我々の研究とは一切無関係です。それぞれ別個のものです。フューチャーテック社の秀才殿に、我々の研究が彼らの数年先を行っている事を思い出させてやってください。 はっきりさせておきますが、この件は17号とも無関係です。 +グリッド離脱 2012/09/19 19 06 イタリア フィレンツェ 「グリッド離脱」 本文なし。以下、添付されているメールの全文 From William M. Subject Bad timing Sent Sept. 19th, 2012 19 06 To Adriano M. Our Rome sales team decided to go on vacation. They re off to the beach or something. Hell, they didn t say where they were going, but I need to talk to them. If you hear anything, call me 送信者:ウィリアム M. 件名:バッドタイミング 送信日時:2012/09/19 19:06 宛先:アドリアーノ M. ローマの販売チームが休暇を取ると決めた。ビーチかどこかにでも行っているのだろう。まったく!彼らはどこに行くとは言わなかった。彼らと話をする必要があるのに。 何か聞いたら、電話してくれ。 +シグナル検知 日付、場所等記載無し、本文無し。
https://w.atwiki.jp/aciii/pages/128.html
Desmond Files10 +計画通りに 2012/11/09 06 17 合衆国 トゥーリン 「計画通りに」 blankimgプラグインエラー:ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 本文無し。表示されているテキストメッセージを以下で翻訳。 Harlan T. Cunningham 2012-11-09 6 everything s going according to plan... i ll spare the details, but right now they have no clue where you are... old timer wants to know if there s any progress on your end? ハーラン・T・カニンガム 2012-11-09 6 全ては計画通りに進行中... 詳細は省きますが、今の所 彼らはあなたの居場所について 何も掴んでいません... ご老体はあなたの目標に関して 何か進展が無いか知りたがっています。 +生活環境 2012/11/10 23 55 合衆国 トゥーリン 「生活環境」 blankimgプラグインエラー:ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 本文無し。以下に添付メール全文。ちなみに、このメールでは何故かウィリアムの署名が"William M."ではなく"William Miles"になっている。 From William Miles Subject Living Conditions Sent Nov. 10th,2012 23 55 To R. Crane; S. Hastings I m feeling a lot of tension within the team. I know it hasn t been easy living down here. The accommodations are a little rough. But we have to stay focused. Remember our mission. Also, Desmond is making great progress and word from HQ is that the Templars have no idea where we are. Hang tight everyone. 送信者 ウィリアム・マイルズ 件名 生活環境 送信日時 2012年11月10日23 55 宛先 R・クレイン; S・ヘイスティングズ チーム内に不安と不満が広がっているのが分かる。確かに、この地下での暮らしは楽じゃなかった。宿泊施設としては少々粗雑だろう。だが、我々は集中し続けなければならない。任務を忘れるな。 それに、デズモンドは素晴らしい成果を上げているし、本部からの連絡によると騎士団は我々の所在について何も掴んでいないらしい。 頑張ってくれ。 +検査報告 2012/11/11 16 52 イタリア ローマ 「検査報告」 blankimgプラグインエラー:ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 本文無し。添付画像は、アブスターゴ社による被験体4号ことダニエル・クロスの医療検査の報告書。以下、達筆すぎて解読に時間のかかる概観の欄を翻訳。 Day 12 Patient spent 72 hours in the Animus per Dr Sung’s recommendation. His condition has not improved. Patient still suffers from significant memory loss – some form of retrograde amnesia. He cannot recall what happened on Oct. 27. 2012. nor can remember most of the past year. Patient frequently confuses his own past with the memories of his ancestor (see detailed report “Animus session 3-1109-004A Cross, D”). patient is psychologically unstable and under considerable stress. However, he is calm and emotionally stable while in the animus. Consider sending him back to VS to Dr Sung continue treatment. 12日目 患者はサン博士の勧告に基づき、72時間をアニムス内で過ごした。彼の体調には改善が見られない。患者は依然重大な記憶の喪失に見舞われている(一種の逆行性健忘症であろう)。彼は2012年10月27日に何が起きたのかを思い出すことができず、昨年の殆どの出来事を思い出す事さえできなかった。患者は頻々に自身の過去と先祖の過去を混同している(詳細な報告は「アニムスセッション3-1109-004A クロス,D」を参照)-1109-004A) Cross, D”。患者は心理的に不安定な状態であり、かなりのストレス下にある。然るに、彼はアニムス内では冷静で感情的に安定した状態になる。彼をVSのサン博士の下に送り返し、治療を継続することを検討の事。 +接続 2012/11/12 02 18 合衆国 トゥーリン 「接続」 blankimgプラグインエラー:ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 blankimgプラグインエラー:ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 本文無し。添付されているメールは、3で閲覧可能なジュノーと思しき者からの初メール(繋がった報告)と同じため、省略。 +彼に構うな 2012/11/14 01 20 合衆国 トゥーリン 「彼に構うな」 blankimgプラグインエラー:ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 本文無し。添付されているメールは、3で閲覧可能なショーンからのメールに引用されているジュノーと思しき者からのメール(関係の無いことに関わるなと脅すような内容)と同じため、省略。 +OP114-8506-B 2012/11/15 15 38 イタリア ローマ 「OP114-8506-B」 blankimgプラグインエラー:ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 本文無し。以下に添付メール全文。Ctibor Hašekは、2012/11/08の「トップガン」にてエージェントの報告を送っている人物。本文で言及されているOtso Bergは、同報告で評価されているエージェント。なお、Ctiborはスラブ系の名前で「名誉ある戦士」の意。Otsoはフィン族の熊の精霊の名、又はバスク語で狼の意。 From E Subject OP114-8506-B Sent Nov. 15th,2012 15 38 To Ctibor Hašek Security breach 2315-04T-28(see report) was brought to my attention. We are unable to trace the source, but we can t take any chance. I want someone in Manhattan to investigate. Put Berg on the next plane to New York and have him report to the Section Chief. This is a delicate mission. Let s see how he handles himself. 送信者 E 件名 OP114-8506-B 送信日時 2012年11月15日15 38 宛先 ツティボル・ハシェク セキュリティを突破しての不正侵入2315-04T-28(報告を参照)が私の目に留まった。 発信源の特定には失敗したが、危険を冒すわけにはいかない。誰かをマンハッタンに寄越して調査をさせてもらいたい。 ベルグをニューヨーク行の次の便に乗せ、彼にセクションチーフへの報告を行わせたまえ。 これは繊細な任務だ。彼がどう扱うか見せてもらおうじゃないか。 +ダニエルが建物を離れた 2012/11/15 13 18 合衆国 フィラデルフィア 「ダニエルが建物を離れた」 DATA TRANSCRIPT LEVEL 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cell Tower Grid 39YP75EN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UTC 20121115T131841Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [outgoing transmission] [caller id = private] [-] Vidic. [+] Doctor, this is Sung. [-] Good evening, doctor. I just read your latest report on Subject 4. [+] I’m afraid I have bad news. Daniel Cross has... vanished. [-] What do you mean “vanished”? [+] He left the compound. [-] Wasn’t he supposed to be in the Animus? [+] Yes. For 48 hours. After that I ordered him to his room. He was confined to quarters, but-- [-] Yes? [-] Daniel was there for about two hours. He then came out and... neutralized the men guarding his room. Somehow he found his way outside. I’m told he hacked into the Abstergo mainframe before he attacked the guards. Security should-- [-] Yes. I have them on line 1. I have to go, doctor. [+] Daniel was under my care. I take full responsibilit -- [-] Doctor. Do me a favor. Keep this to yourself. [+] Of course. [transmission ends] [外線通信] [発信者 = 非通知] [-] ヴィディックだ。 [+] 博士、サンです。 [-] やあ、博士。被験体4号に関する君の最新の報告を読んだところだよ。 [+] 残念ながら、悪い知らせです。ダニエル・クロスは...消えました。 [-] 「消えた」とはどういう意味だね? [+] 構内から出たんです。 [-] 彼はアニムスに入っているのでは無かったのかね? [+] ええ。48時間に亘って。私は彼に部屋で待機するよう命じました。彼は宿舎で軟禁状態にあったのですが― [-] なんだね? [-] ダニエルはそこに2時間ほど居ました。その後彼は外に出てきて...彼の部屋を見張っていた男を無力化しました。方法は判りませんが、彼は外に出る方法を見つけたのです。 警備員を襲う前に、彼がアブスターゴのメインフレームにハッキングしたとの報告を受けています。セキュリティ部はもっと― [-] そうか。第1回線で彼らを待たせているんだ。そろそろ失礼せねば、博士。 [+] ダニエルは私の管理下にあったんです。私はこの件に関して全ての責任が― [-] 博士。お願いだ。この件は誰にも言わないでくれ。 [+] もちろんです。 [通信終了] +フリーダムタワー 2012/11/16 23 03 合衆国 ニューヨーク 「フリーダムタワー」 本文無し。動画の内容は、3の現代編で一回目の外出(最初の動力源を手に入れるために建設中の高層建造物を登る時)の物。なお、「フリーダムタワー」とはアメリカ同時多発テロで崩壊したワールドトレードセンター跡地に建設中のOne World Trade Centerの旧称。 +大失敗 2012/11/16 23 47 合衆国 ニューヨーク 「大失敗」 本文無し。動画の内容は、3の現代編で一回目の外出(最初の動力源を手に入れるために建設中の高層建造物を登った後にパラシュートで隣の建物に移動し、ダニエル・クロスと格闘する時)の物。ファイルのタイトルである「大失敗(Criss Cross)」はダニエル・クロスのファミリーネーム(Cross)と、元々十字架を意味し、"go crisscross"の形で「(物事が)上手く行かない」という意味になる"crisscross"の語を引っ掛けた一種の洒落であると思われる。 なお、このファイルが表示されている衛星写真の位置は米国の大手通信会社ベライゾン・コミュニケーションズの本社であるVerizon Buildingである。そのため、第一の動力源を保有していたのはVerizon社かその関係者であったとも考えられる。 +野良猫 2012/11/17 12 33 イタリア ローマ 「野良猫」 DATA TRANSCRIPT LEVEL 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cell Tower Grid 41VP12KP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UTC 20121117T123301Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [outgoing transmission] [caller id = private] [-] Vidi-- [+] What’s going on, Warren? [-] Laetitia. A pleasure, as alw-- [+] My operative in Manhattan found Cross. You know anything about this? [-] No. We lost him. Two days ago. [+] What? Why wasn’t I-- [-] Please, calm down, Laeti-- [+] Calm down? Desmond Miles was in New York yesterday. Cross scared him away! [-] What? [+] You heard me. One of my operatives was on the case. [sigh] Someone had hacked into our mainframe; someone interested in the artifacts we are tracking. I sent a man to investigate, but-- [-] What happened? Is Cross alive? [+] Yes. He was in bad shape, disoriented, spoke Russian. He attacked my agent. Fortunately, he neutralized Cross and brought him to us. [-] Where is he now? [+] In a holding cell. [-] This is no place for-- [+] I’ve ordered his release. He should be in Sung’s care within the hour. [pause] Warren, I know we owe a lot to this man but-- [-] [sigh] Hold on. I’ll get Alan on the line. [transmission ends] [外線通信] [発信者 = 非通知] [-] ヴィディ― [+] どうなっているの、ウォーレン? [-] レティシャ。君からの電話はいつも嬉しいもの― [+] マンハッタンの私の工作員がクロスを発見したわ。このことについて何か知っている? [-] いいや。我々は彼を見失ったんだ。二日前に。 [+] 何ですって?どうして私はもっと― [-] 頼む、落ち着いてくれレティ― [+] 落ち着けですって?デズモンド・マイルズが昨日ニューヨークに居たの。クロスが彼を怯えさせて逃がしたのよ! [-] 何だって? [+] 聞こえたでしょう。私の工作員の一人がこの件に取り組んでいたの。[溜息] 誰かが我々のメインフレームにハッキングしたわ。我々の追うアーティファクトに関心のある誰かがね。捜査に一人送ったけど― [-] 何があったんだ?クロス君は生きているのか? [+] ええ。でも状態は最悪で、錯乱してロシア語を話していたわ。私のエージェントを襲いもした。幸いにも彼はクロスの無力化に成功し、我々の下に連れてきてくれたわ。 [-] 彼は今どこに? [+] 監房よ。 [-] なんていう扱いを― [+] 彼を放すように命じたわ。1時間以内にサン博士の治療を受けさせるべきね。[間] ウォーレン、この男に関して我々が多くの責任を負っている事は分かるけれど― [-] [溜息] 待っていてくれ。アランに電話する。 [通信終了]
https://w.atwiki.jp/aciii/pages/122.html
Desmond Files4 +アブスターゴのトップエージェント 2012/09/21 17:52 アメリカ フィラデルフィア「アブスターゴのトップエージェント」 DATA TRANSCRIPT LEVEL 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cell Tower Grid 39YP75EN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UTC 20120921T175228Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [outgoing transmission] [caller id = private] [-] This isn’t a good time, Daniel. [+] It can’t wait. [-] You already said that to the receptionist. [+] Yeah, well, you know why I’m calling, don’t you. [-] I don’t have time to play 20 Questions now, Daniel. [+] I know you lost him. [-] Do you? [+] Don’t do this to me, Warren. [-] Alright. You know. Who told you? [+] Never mind that. I have my sources. When were you planning on telling me? [-] Telling you? This has nothing to do with you. [+] Nothing to– Damn it, Warren! I’m the one who delivered him. Right into your lap! Without me you’d never have found him. [-] [silence] [+] And a week later you lost him… Then failed to get him back. And you personally took part in the assault! What the hell’s going on? [-] Desmond Miles is not your problem. He is mine. [+] Yeah, I’m sure he is. Great job at the hideout, by the way. At least you survived. That’s something, I guess. [-] [sigh] I’m getting tired of this, Daniel. I’m hanging up now. [+] Wait! I’m coming to Rome. I’ll get him back for you. [-] You will do no such thing. [+] But– [-] I’ll have need of you soon, Daniel. For now, just hang tight. [+] Warren– [-] The situation is under control. Trust me. [+] Trust you. Right. OK… I trust you. [-] Goodbye, Daniel. [+] Yeah, goodb– [signal interrupted] [外線通信] [発信元 = 非通知] [-] これは良いタイミングとは言えないな、ダニエル君。 [+] 事態は急を要します。 [-] 受付係にもそう言ったのだろう? [+] えぇ、まぁ...なぜ掛けたかお判りでしょう? [-] 20の質問を遊んでいる暇はないのだ、ダニエル君。 [+] 彼を失ったことを知っています。 [-] そうなのか? [+] やめてください、ウォーレン。 [-] 分かった。君は知っている。誰が教えた? [+] お気になさらず。独自の情報源があるのです。いつ俺に伝えるつもりだったんです? [-] 君に伝える?これは君とは何の関わりも無い。 [+] 何の関わりも...くそ、ウォーレン!彼をここに届けたのは俺ですよ!あなたの膝の上にね!俺抜きでは彼を見つけることはできなかったはずだ。 [-] [沈黙] [+] そして数週間後には彼を失い...更に奪還に失敗。しかも襲撃に自ら参加するだなんて!一体何が起きている? [-] デズモンド・マイルズは君の問題ではない。彼は私の物だ。 [+] あぁ、そうでしょうとも。ところで、隠れ家ではご活躍でしたね。少なくともあなたは生き延びた。大したものだ、そうでしょう? [-] [溜息] もううんざりだよ、ダニエル君。切るぞ。 [+] 待ってください!今ローマに向かっています。あなたのために彼を取り戻して差し上げましょう。 [-] 君はそんなことはしないよ。 [+] しかし―― [-] すぐに君が必要になる、ダニエル君。だが今は..ただしっかり付いてきたまえ。 [+] ウォーレ―― [-] 状況は我々の制御下にある。私を信じたまえ。 [+] あなたを信じる..。了解、あなたを信じましょう。 [-] ではまた、ダニエル君。 [+] えぇ、ではま―― [通信途絶] +パスワード 2012/09/22 16 05 イタリア モンテリジョーニ 「パスワード」 エルディートからのメッセージ。 我々はエルディートの正体をまだ掴んではいないが、今までに集めた証拠によるとどうやら共通の目標を持ったハッカーの集団らしい。 アブスターゴ社の保安部に「エルディート一味」と名付けられたこの集団は、どうやら企業の極秘事項を公衆に暴露する戦略を取ることにしたらしい。過去数年以上の間、一味は数度に亘ってアブスターゴ社のコンピュータネットワークに侵入することに成功している。2010年及び2011年、エルディートは遺産計画のサーバーをハックし、計画の参加者たちに"繊細な"情報をメールで送りつけることに利用した。この侵入でアブスターゴ社は遺産計画の一時凍結を余儀なくされた。 「遺産計画」は、リベレーションのアブスターゴファイル内での訳に従ってこう表記したが、要はFacebookアプリ「Assassin's Creed Project Legacy」の事。添付されているメールはブラザーフッドでデズモンドが受信した、ルーシーやショーンらのメールアカウントパスワードを教える内容のメール。 +デンバーでの任務 2012/09/23 19 19 合衆国 フィラデルフィア 「デンバーでの任務」 DATA TRANSCRIPT LEVEL 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cell Tower Grid 39YP75DN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UTC 20120923T191911Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [incoming transmission] [caller id = private] [+] Cross. [-] Daniel, I’m glad I caught you. [+] Doc? Is that you? [-] Yes, I– [+] I know, I know. You miss me too much. You can’t bear the thought of spending another minute without me in your life. [-] I– [+] Alright, alright… I know why you’re calling. I’m sorry I missed our last appointment. Couldn’t be helped. I’ll be there next week, OK? [-] That’s not why I called. [+] It’s not? Then you really do miss me! [-] This is serious. [+] You’re breaking my heart, Doc. You know that. Breaking my heart. [-] [pause] Tell me, Daniel. How are you feeling? [+] Swell. Just swell. Things were real bad for a while you know, after the incident, but I’m fine now. Thanks to you. You needn’t worry. [-] I heard you refused to go on assignment. [+] [silence] [-] This isn’t like you– [+] Yeah, well, I’m not going back there. [-] Back where? [+] Denver! The bastard’s want to send me back to Denver! Can you believe that? After what happened… I’m never setting foot in that place again. [-] But y– [+] You heard me, Doc. Never! [-] They need you. They really n– [+] Never! [pause] Never again… Never again… [受信電波] [発信元 = 非通知] [+] クロスだ。 [-] ダニエル君、やっと繋がったな。 [+] 先生?あなたか? [-] あぁ、実は―― [+] えぇ、えぇ。分かりますとも。俺が恋しくて仕方なかったんでしょう?今後の人生俺無しでは一秒も耐えられないと感じたんだ。 [-] 私は―― [+] 分かりました、分かりました… お掛けになった理由は分かっていますよ。約束していたのに会えなくてすみません。どうしようも無かったんです。来週そちらに行きますから、良いですね? [-] その話ではない。 [+] 違う?じゃあ本当に俺が恋しかったようだ! [-] 真面目な話だ。 [+] グサッと来ましたよ、先生。分かってますよね?ハートブレイクだ。 [-] [間] 教えてくれ、ダニエル君。どんな気分だね? [+] 最高ですよ。もう最高です。事件以来しばらくは最悪でしたが、今はもう平気です。あなたのおかげでね。ご心配には及びません。 [-] 与えられた任務に赴くのを拒んだそうだな? [+] [沈黙] [-] 君らしくも無いではな―― [+] ええ、もうあそこには戻りません。 [-] 戻る?何処にだね? [+] デンバーだ!あの糞共は俺をデンバーに送り返そうとしやがった!信じられますか?あんなことがあった後で… 俺は二度とあそこには足を踏み入れません。 [-] しかし君は―― [+] 聞こえただろう、先生。二度と行かない! [-] 彼らは君を必要としているのだ。彼らは君無しでは―― [+] 二度とだ! [間] もう二度と… もう二度と… +街歩き 2012/09/25 22 45 イタリア モンテリジョーニ 「街歩き」 本文無し。写真の女性はレベッカ・クレイン。ブラザーフッドにおいて彼女がメールで言及していた「監視機材も詰めるサイズの怪しいトラック」からの撮影と思われる(「張り込み」参照)。その場合、この一連の文書を作成しているのはテンプル騎士団では無いようなので、監視トラックは騎士団の物ではなかった事になる(もちろん、テンプル騎士団が撮影した写真を何らかの手段で入手した可能性もあるが)。 +懸念 2012/09/26 23 30 イタリア モンテリジョーニ 「懸念」 ウィリアム M.はデズモンドが受け得るアニムスの潜在的な副作用、及びルーシーについて心配している。 本文以上。添付されているメールはブラザーフッド内でルーシーのアカウントに届く物(ルーシーのデズモンドに対する懸念に答え、逆にルーシーの精神状態を案じるウィリアムからのメール)と同一の為、翻訳は省略。 +張り込み 2012/09/27 04 05 イタリア モンテリジョーニ 「張り込み」 アサシンたちが、自分たちが監視されているという疑念を持ち始めた。 本文以上。添付されているメールはブラザーフッド内でレベッカがチーム全員に送信する物(監視機材を積むのに十分なサイズの白いヴァンがヴィラの前に停車していたとの内容)と同一の為、翻訳は省略。 +状況 2012/09/27 21 01 イタリア モンテリジョーニ 「状況」 クロスがデンバー行きを断ったにも関わらず、血盟は新たなチームを失ったようだ。 デズモンドが誘拐された9月1日以来、多くのアサシン達が殺害され、失踪している。大粛清(2000年10月に始まった、血盟の根絶を意図した作戦)以来、アサシン教団がこれほど多くのエージェントを失ったのは初めての事だ。 本文以上。添付されているメールはブラザーフッド内でウィリアムがショーンに送信した物(世界中のアサシンのチームの動向についての報告)と同一の為、翻訳は省略。 +鉄の男 2012/09/28 16 13 合衆国 ワシントンD.C. 「鉄の男」 恐らく、Rが言及しているのはこの記事だろう。 http //www.guardian.co.uk/world/2012/sep/28/nazi-buddha-statue-carved-from-meteorite 本文以上。本文中でリンクされている記事は、ナチスにより収集されたチベットの仏像が隕石で作られた物と判明したニュースを紹介している。このニュースは日本国内でも複数のメディアで報じられた(http //www.jiji.com/jc/c?g=int_30 k=2012092700069)。以下、添付されているメールの全訳 From R. Subject The Iron Man Sent Sept. 28th, 2012 13 13 To Erica Nichols C/C Nancy Nilop; E. Just read the article in the Guardian. Well done. No one will suspect a thing. E., make sure you get it back. 送信者:R. 件名:鉄の男 送信日時:2012/09/28 13:13 宛先:エリカ・ニコールズ CC: ナンシー・ニロップ ;E. たった今ガーディアン紙の記事を読んだところだ。よくやった。誰も疑いはしないさ。 E.、確実に取り返すように。 +イタリア猿 2012/09/29 22 13 イタリア モンテリジョーニ 「イタリア猿」 ショーンにとってモンテリジョーニに滞在することは最早安全ではなくなった。 本文以上。添付されているメールはブラザーフッド内でショーンが送受信したメール(ショーンがイタリア人男性と揉め事を起こし彼らに追われているが、ルーシーは彼の買い出しなどの用事を取り消さない、という内容)と同一の為、翻訳は省略。 +ヒースロー空港 2012/09/30 19 55 英国 ロンドン 「ヒースロー空港」 本文無し。以下、写真の携帯端末に表示されているテキストメッセージ翻訳。ハーラン・T・カニンガムなる人物からウィリアムに向けてのテキストメッセージと、ウィリアムが英国に到着してからの返信。カニンガムからのメッセージは受信時刻が写真のフレーム外の為不明。 Harlan T. Cunningham 2012-09-28 hey william... text me from europe... will keep old timer posted 2012-09-30 19 55 Arrived safely. Tell Adriano I ll be in France tomorrow. Will contact you ASAP. ハーラン・T・カニンガム 2012-09-28 やぁウィリアム... 欧州に着いたらテキストメッセージを送ってください... ご老体にも連絡します。 2012-09-30 19 55 無事到着。アドリアーノに、明日にはフランスに入ると伝えてくれ。 君にもできるだけ早く連絡する。
https://w.atwiki.jp/feedback1970/pages/57.html
memo source 1 /* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http //www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef APACHE_HTTP_CONFIG_H 18 #define APACHE_HTTP_CONFIG_H 19 20 #include "apr_hooks.h" 21 #include "util_cfgtree.h" 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 /** 28 * @file http_config.h 29 * @brief Apache Configuration 30 */ 31 32 /* 33 * The central data structures around here... 34 */ 35 36 /* Command dispatch structures... */ 37 38 /** 39 * How the directives arguments should be parsed. 40 * @remark Note that for all of these except RAW_ARGS, the config routine is 41 * passed a freshly allocated string which can be modified or stored 42 * or whatever... 43 */ 44 enum cmd_how { 45 RAW_ARGS, /** cmd_func parses command line itself */ 46 TAKE1, /** one argument only */ 47 TAKE2, /** two arguments only */ 48 ITERATE, /** one argument, occuring multiple times 49 * (e.g., IndexIgnore) 50 */ 51 ITERATE2, /** two arguments, 2nd occurs multiple times 52 * (e.g., AddIcon) 53 */ 54 FLAG, /** One of On or Off */ 55 NO_ARGS, /** No args at all, e.g. /Directory */ 56 TAKE12, /** one or two arguments */ 57 TAKE3, /** three arguments only */ 58 TAKE23, /** two or three arguments */ 59 TAKE123, /** one, two or three arguments */ 60 TAKE13 /** one or three arguments */ 61 }; 62 /** 63 * This structure is passed to a command which is being invoked, 64 * to carry a large variety of miscellaneous data which is all of 65 * use to *somebody*... 66 */ 67 typedef struct cmd_parms_struct cmd_parms; 68 69 #if defined(AP_HAVE_DESIGNATED_INITIALIZER) || defined(DOXYGEN) 70 71 /** 72 * All the types of functions that can be used in directives 73 * @internal 74 */ 75 typedef union { 76 /** function to call for a no-args */ 77 const char *(*no_args) (cmd_parms *parms, void *mconfig); 78 /** function to call for a raw-args */ 79 const char *(*raw_args) (cmd_parms *parms, void *mconfig, 80 const char *args); 81 /** function to call for a take1 */ 82 const char *(*take1) (cmd_parms *parms, void *mconfig, const char *w); 83 /** function to call for a take2 */ 84 const char *(*take2) (cmd_parms *parms, void *mconfig, const char *w, 85 const char *w2); 86 /** function to call for a take3 */ 87 const char *(*take3) (cmd_parms *parms, void *mconfig, const char *w, 88 const char *w2, const char *w3); 89 /** function to call for a flag */ 90 const char *(*flag) (cmd_parms *parms, void *mconfig, int on); 91 } cmd_func; 92 93 /** This configuration directive does not take any arguments */ 94 # define AP_NO_ARGS func.no_args 95 /** This configuration directive will handle it s own parsing of arguments*/ 96 # define AP_RAW_ARGS func.raw_args 97 /** This configuration directive takes 1 argument*/ 98 # define AP_TAKE1 func.take1 99 /** This configuration directive takes 2 arguments */ 100 # define AP_TAKE2 func.take2 101 /** This configuration directive takes 3 arguments */ 102 # define AP_TAKE3 func.take3 103 /** This configuration directive takes a flag (on/off) as a argument*/ 104 # define AP_FLAG func.flag 105 106 /** method of declaring a directive with no arguments */ 107 # define AP_INIT_NO_ARGS(directive, func, mconfig, where, help) \ 108 { directive, { .no_args=func }, mconfig, where, RAW_ARGS, help } 109 /** method of declaring a directive with raw argument parsing */ 110 # define AP_INIT_RAW_ARGS(directive, func, mconfig, where, help) \ 111 { directive, { .raw_args=func }, mconfig, where, RAW_ARGS, help } 112 /** method of declaring a directive which takes 1 argument */ 113 # define AP_INIT_TAKE1(directive, func, mconfig, where, help) \ 114 { directive, { .take1=func }, mconfig, where, TAKE1, help } 115 /** method of declaring a directive which takes multiple arguments */ 116 # define AP_INIT_ITERATE(directive, func, mconfig, where, help) \ 117 { directive, { .take1=func }, mconfig, where, ITERATE, help } 118 /** method of declaring a directive which takes 2 arguments */ 119 # define AP_INIT_TAKE2(directive, func, mconfig, where, help) \ 120 { directive, { .take2=func }, mconfig, where, TAKE2, help } 121 /** method of declaring a directive which takes 1 or 2 arguments */ 122 # define AP_INIT_TAKE12(directive, func, mconfig, where, help) \ 123 { directive, { .take2=func }, mconfig, where, TAKE12, help } 124 /** method of declaring a directive which takes multiple 2 arguments */ 125 # define AP_INIT_ITERATE2(directive, func, mconfig, where, help) \ 126 { directive, { .take2=func }, mconfig, where, ITERATE2, help } 127 /** method of declaring a directive which takes 1 or 3 arguments */ 128 # define AP_INIT_TAKE13(directive, func, mconfig, where, help) \ 129 { directive, { .take3=func }, mconfig, where, TAKE13, help } 130 /** method of declaring a directive which takes 2 or 3 arguments */ 131 # define AP_INIT_TAKE23(directive, func, mconfig, where, help) \ 132 { directive, { .take3=func }, mconfig, where, TAKE23, help } 133 /** method of declaring a directive which takes 1 to 3 arguments */ 134 # define AP_INIT_TAKE123(directive, func, mconfig, where, help) \ 135 { directive, { .take3=func }, mconfig, where, TAKE123, help } 136 /** method of declaring a directive which takes 3 arguments */ 137 # define AP_INIT_TAKE3(directive, func, mconfig, where, help) \ 138 { directive, { .take3=func }, mconfig, where, TAKE3, help } 139 /** method of declaring a directive which takes a flag (on/off) as a argument*/ 140 # define AP_INIT_FLAG(directive, func, mconfig, where, help) \ 141 { directive, { .flag=func }, mconfig, where, FLAG, help } 142 143 #else /* AP_HAVE_DESIGNATED_INITIALIZER */ 144 145 typedef const char *(*cmd_func) (); 146 147 # define AP_NO_ARGS func 148 # define AP_RAW_ARGS func 149 # define AP_TAKE1 func 150 # define AP_TAKE2 func 151 # define AP_TAKE3 func 152 # define AP_FLAG func 153 154 # define AP_INIT_NO_ARGS(directive, func, mconfig, where, help) \ 155 { directive, func, mconfig, where, RAW_ARGS, help } 156 # define AP_INIT_RAW_ARGS(directive, func, mconfig, where, help) \ 157 { directive, func, mconfig, where, RAW_ARGS, help } 158 # define AP_INIT_TAKE1(directive, func, mconfig, where, help) \ 159 { directive, func, mconfig, where, TAKE1, help } 160 # define AP_INIT_ITERATE(directive, func, mconfig, where, help) \ 161 { directive, func, mconfig, where, ITERATE, help } 162 # define AP_INIT_TAKE2(directive, func, mconfig, where, help) \ 163 { directive, func, mconfig, where, TAKE2, help } 164 # define AP_INIT_TAKE12(directive, func, mconfig, where, help) \ 165 { directive, func, mconfig, where, TAKE12, help } 166 # define AP_INIT_ITERATE2(directive, func, mconfig, where, help) \ 167 { directive, func, mconfig, where, ITERATE2, help } 168 # define AP_INIT_TAKE13(directive, func, mconfig, where, help) \ 169 { directive, func, mconfig, where, TAKE13, help } 170 # define AP_INIT_TAKE23(directive, func, mconfig, where, help) \ 171 { directive, func, mconfig, where, TAKE23, help } 172 # define AP_INIT_TAKE123(directive, func, mconfig, where, help) \ 173 { directive, func, mconfig, where, TAKE123, help } 174 # define AP_INIT_TAKE3(directive, func, mconfig, where, help) \ 175 { directive, func, mconfig, where, TAKE3, help } 176 # define AP_INIT_FLAG(directive, func, mconfig, where, help) \ 177 { directive, func, mconfig, where, FLAG, help } 178 179 #endif /* AP_HAVE_DESIGNATED_INITIALIZER */ 180 181 /** 182 * The command record structure. Each modules can define a table of these 183 * to define the directives it will implement. 184 */ 185 typedef struct command_struct command_rec; 186 struct command_struct { 187 /** Name of this command */ 188 const char *name; 189 /** The function to be called when this directive is parsed */ 190 cmd_func func; 191 /** Extra data, for functions which implement multiple commands... */ 192 void *cmd_data; 193 /** What overrides need to be allowed to enable this command. */ 194 int req_override; 195 /** What the command expects as arguments 196 * @defvar cmd_how args_how*/ 197 enum cmd_how args_how; 198 199 /** usage message, in case of syntax errors */ 200 const char *errmsg; 201 }; 202 203 /** 204 * @defgroup ConfigDirectives Allowed locations for configuration directives. 205 * 206 * The allowed locations for a configuration directive are the union of 207 * those indicated by each set bit in the req_override mask. 208 * 209 * @{ 210 */ 211 #define OR_NONE 0 /** *.conf is not available anywhere in this override */ 212 #define OR_LIMIT 1 /** *.conf inside Directory or Location 213 and .htaccess when AllowOverride Limit */ 214 #define OR_OPTIONS 2 /** *.conf anywhere 215 and .htaccess when AllowOverride Options */ 216 #define OR_FILEINFO 4 /** *.conf anywhere 217 and .htaccess when AllowOverride FileInfo */ 218 #define OR_AUTHCFG 8 /** *.conf inside Directory or Location 219 and .htaccess when AllowOverride AuthConfig */ 220 #define OR_INDEXES 16 /** *.conf anywhere 221 and .htaccess when AllowOverride Indexes */ 222 #define OR_UNSET 32 /** unset a directive (in Allow) */ 223 #define ACCESS_CONF 64 /** *.conf inside Directory or Location */ 224 #define RSRC_CONF 128 /** *.conf outside Directory or Location */ 225 #define EXEC_ON_READ 256 /** force directive to execute a command 226 which would modify the configuration (like including another 227 file, or IFModule */ 228 /** this directive can be placed anywhere */ 229 #define OR_ALL (OR_LIMIT|OR_OPTIONS|OR_FILEINFO|OR_AUTHCFG|OR_INDEXES) 230 231 /** @} */ 232 233 /** 234 * This can be returned by a function if they don t wish to handle 235 * a command. Make it something not likely someone will actually use 236 * as an error code. 237 */ 238 #define DECLINE_CMD "\a\b" 239 240 /** Common structure for reading of config files / passwd files etc. */ 241 typedef struct ap_configfile_t ap_configfile_t; 242 struct ap_configfile_t { 243 int (*getch) (void *param); /** a getc()-like function */ 244 void *(*getstr) (void *buf, size_t bufsiz, void *param); 245 /** a fgets()-like function */ 246 int (*close) (void *param); /** a close handler function */ 247 void *param; /** the argument passed to getch/getstr/close */ 248 const char *name; /** the filename / description */ 249 unsigned line_number; /** current line number, starting at 1 */ 250 }; 251 252 /** 253 * This structure is passed to a command which is being invoked, 254 * to carry a large variety of miscellaneous data which is all of 255 * use to *somebody*... 256 */ 257 struct cmd_parms_struct { 258 /** Argument to command from cmd_table */ 259 void *info; 260 /** Which allow-override bits are set */ 261 int override; 262 /** Which methods are Limit ed */ 263 apr_int64_t limited; 264 /** methods which are limited */ 265 apr_array_header_t *limited_xmethods; 266 /** methods which are xlimited */ 267 ap_method_list_t *xlimited; 268 269 /** Config file structure. */ 270 ap_configfile_t *config_file; 271 /** the directive specifying this command */ 272 ap_directive_t *directive; 273 274 /** Pool to allocate new storage in */ 275 apr_pool_t *pool; 276 /** Pool for scratch memory; persists during configuration, but 277 * wiped before the first request is served... */ 278 apr_pool_t *temp_pool; 279 /** Server_rec being configured for */ 280 server_rec *server; 281 /** If configuring for a directory, pathname of that directory. 282 * NOPE! That s what it meant previous to the existance of Files , 283 * Location and regex matching. Now the only usefulness that can be 284 * derived from this field is whether a command is being called in a 285 * server context (path == NULL) or being called in a dir context 286 * (path != NULL). */ 287 char *path; 288 /** configuration command */ 289 const command_rec *cmd; 290 291 /** per_dir_config vector passed to handle_command */ 292 struct ap_conf_vector_t *context; 293 /** directive with syntax error */ 294 const ap_directive_t *err_directive; 295 }; 296 297 /** 298 * Module structures. Just about everything is dispatched through 299 * these, directly or indirectly (through the command and handler 300 * tables). 301 */ 302 typedef struct module_struct module; 303 struct module_struct { 304 /** API version, *not* module version; check that module is 305 * compatible with this version of the server. 306 */ 307 int version; 308 /** API minor version. Provides API feature milestones. Not checked 309 * during module init */ 310 int minor_version; 311 /** Index to this modules structures in config vectors. */ 312 int module_index; 313 314 /** The name of the module s C file */ 315 const char *name; 316 /** The handle for the DSO. Internal use only */ 317 void *dynamic_load_handle; 318 319 /** A pointer to the next module in the list 320 * @defvar module_struct *next */ 321 struct module_struct *next; 322 323 /** Magic Cookie to identify a module structure; It s mainly 324 * important for the DSO facility (see also mod_so). */ 325 unsigned long magic; 326 327 /** Function to allow MPMs to re-write command line arguments. This 328 * hook is only available to MPMs. 329 * @param The process that the server is running in. 330 */ 331 void (*rewrite_args) (process_rec *process); 332 /** Function to allow all modules to create per directory configuration 333 * structures. 334 * @param p The pool to use for all allocations. 335 * @param dir The directory currently being processed. 336 * @return The per-directory structure created 337 */ 338 void *(*create_dir_config) (apr_pool_t *p, char *dir); 339 /** Function to allow all modules to merge the per directory configuration 340 * structures for two directories. 341 * @param p The pool to use for all allocations. 342 * @param base_conf The directory structure created for the parent directory. 343 * @param new_conf The directory structure currently being processed. 344 * @return The new per-directory structure created 345 */ 346 void *(*merge_dir_config) (apr_pool_t *p, void *base_conf, void *new_conf); 347 /** Function to allow all modules to create per server configuration 348 * structures. 349 * @param p The pool to use for all allocations. 350 * @param s The server currently being processed. 351 * @return The per-server structure created 352 */ 353 void *(*create_server_config) (apr_pool_t *p, server_rec *s); 354 /** Function to allow all modules to merge the per server configuration 355 * structures for two servers. 356 * @param p The pool to use for all allocations. 357 * @param base_conf The directory structure created for the parent directory. 358 * @param new_conf The directory structure currently being processed. 359 * @return The new per-directory structure created 360 */ 361 void *(*merge_server_config) (apr_pool_t *p, void *base_conf, 362 void *new_conf); 363 364 /** A command_rec table that describes all of the directives this module 365 * defines. */ 366 const command_rec *cmds; 367 368 /** A hook to allow modules to hook other points in the request processing. 369 * In this function, modules should call the ap_hook_*() functions to 370 * register an interest in a specific step in processing the current 371 * request. 372 * @param p the pool to use for all allocations 373 */ 374 void (*register_hooks) (apr_pool_t *p); 375 }; 376 377 /** 378 * @defgroup ModuleInit Module structure initializers 379 * 380 * Initializer for the first few module slots, which are only 381 * really set up once we start running. Note that the first two slots 382 * provide a version check; this should allow us to deal with changes to 383 * the API. The major number should reflect changes to the API handler table 384 * itself or removal of functionality. The minor number should reflect 385 * additions of functionality to the existing API. (the server can detect 386 * an old-format module, and either handle it back-compatibly, or at least 387 * signal an error). See src/include/ap_mmn.h for MMN version history. 388 * @{ 389 */ 390 391 /** The one used in Apache 1.3, which will deliberately cause an error */ 392 #define STANDARD_MODULE_STUFF this_module_needs_to_be_ported_to_apache_2_0 393 394 /** Use this in all standard modules */ 395 #define STANDARD20_MODULE_STUFF MODULE_MAGIC_NUMBER_MAJOR, \ 396 MODULE_MAGIC_NUMBER_MINOR, \ 397 -1, \ 398 __FILE__, \ 399 NULL, \ 400 NULL, \ 401 MODULE_MAGIC_COOKIE, \ 402 NULL /* rewrite args spot */ 403 404 /** Use this only in MPMs */ 405 #define MPM20_MODULE_STUFF MODULE_MAGIC_NUMBER_MAJOR, \ 406 MODULE_MAGIC_NUMBER_MINOR, \ 407 -1, \ 408 __FILE__, \ 409 NULL, \ 410 NULL, \ 411 MODULE_MAGIC_COOKIE 412 413 /** @} */ 414 415 /* CONFIGURATION VECTOR FUNCTIONS */ 416 417 /** configuration vector structure */ 418 typedef struct ap_conf_vector_t ap_conf_vector_t; 419 420 /** 421 * Generic accessors for other modules to get at their own module-specific 422 * data 423 * @param conf_vector The vector in which the modules configuration is stored. 424 * usually r- per_dir_config or s- module_config 425 * @param m The module to get the data for. 426 * @return The module-specific data 427 */ 428 AP_DECLARE(void *) ap_get_module_config(const ap_conf_vector_t *cv, 429 const module *m); 430 431 /** 432 * Generic accessors for other modules to set at their own module-specific 433 * data 434 * @param conf_vector The vector in which the modules configuration is stored. 435 * usually r- per_dir_config or s- module_config 436 * @param m The module to set the data for. 437 * @param val The module-specific data to set 438 */ 439 AP_DECLARE(void) ap_set_module_config(ap_conf_vector_t *cv, const module *m, 440 void *val); 441 442 #if !defined(AP_DEBUG) 443 444 #define ap_get_module_config(v,m) \ 445 (((void **)(v))[(m)- module_index]) 446 #define ap_set_module_config(v,m,val) \ 447 ((((void **)(v))[(m)- module_index]) = (val)) 448 449 #endif /* AP_DEBUG */ 450 451 452 /** 453 * Generic command handling function for strings 454 * @param cmd The command parameters for this directive 455 * @param struct_ptr pointer into a given type 456 * @param arg The argument to the directive 457 * @return An error string or NULL on success 458 */ 459 AP_DECLARE_NONSTD(const char *) ap_set_string_slot(cmd_parms *cmd, 460 void *struct_ptr, 461 const char *arg); 462 463 /** 464 * Generic command handling function for integers 465 * @param cmd The command parameters for this directive 466 * @param struct_ptr pointer into a given type 467 * @param arg The argument to the directive 468 * @return An error string or NULL on success 469 */ 470 AP_DECLARE_NONSTD(const char *) ap_set_int_slot(cmd_parms *cmd, 471 void *struct_ptr, 472 const char *arg); 473 474 /** 475 * Return true if the specified method is limited by being listed in 476 * a Limit container, or by *not* being listed in a LimiteExcept 477 * container. 478 * 479 * @param method Pointer to a string specifying the method to check. 480 * @param cmd Pointer to the cmd_parms structure passed to the 481 * directive handler. 482 * @return 0 if the method is not limited in the current scope 483 */ 484 AP_DECLARE(int) ap_method_is_limited(cmd_parms *cmd, const char *method); 485 486 /** 487 * Generic command handling function for strings, always sets the value 488 * to a lowercase string 489 * @param cmd The command parameters for this directive 490 * @param struct_ptr pointer into a given type 491 * @param arg The argument to the directive 492 * @return An error string or NULL on success 493 */ 494 AP_DECLARE_NONSTD(const char *) ap_set_string_slot_lower(cmd_parms *cmd, 495 void *struct_ptr, 496 const char *arg); 497 /** 498 * Generic command handling function for flags 499 * @param cmd The command parameters for this directive 500 * @param struct_ptr pointer into a given type 501 * @param arg The argument to the directive (either 1 or 0) 502 * @return An error string or NULL on success 503 */ 504 AP_DECLARE_NONSTD(const char *) ap_set_flag_slot(cmd_parms *cmd, 505 void *struct_ptr, 506 int arg); 507 /** 508 * Generic command handling function for files 509 * @param cmd The command parameters for this directive 510 * @param struct_ptr pointer into a given type 511 * @param arg The argument to the directive 512 * @return An error string or NULL on success 513 */ 514 AP_DECLARE_NONSTD(const char *) ap_set_file_slot(cmd_parms *cmd, 515 void *struct_ptr, 516 const char *arg); 517 /** 518 * Generic command handling function to respond with cmd- help as an error 519 * @param cmd The command parameters for this directive 520 * @param struct_ptr pointer into a given type 521 * @param arg The argument to the directive 522 * @return The cmd- help value as the error string 523 * @tip This allows simple declarations such as; 524 * pre 525 * AP_INIT_RAW_ARGS("Foo", ap_set_deprecated, NULL, OR_ALL, 526 * "The Foo directive is no longer supported, use Bar"), 527 * /pre 528 */ 529 AP_DECLARE_NONSTD(const char *) ap_set_deprecated(cmd_parms *cmd, 530 void *struct_ptr, 531 const char *arg); 532 /** 533 * For modules which need to read config files, open logs, etc. this returns 534 * the canonical form of fname made absolute to ap_server_root. 535 * @param p pool to allocate data from 536 * @param fname The file name 537 */ 538 AP_DECLARE(char *) ap_server_root_relative(apr_pool_t *p, const char *fname); 539 540 /* Finally, the hook for dynamically loading modules in... */ 541 542 /** 543 * Add a module to the server 544 * @param m The module structure of the module to add 545 * @param p The pool of the same lifetime as the module 546 */ 547 AP_DECLARE(void) ap_add_module(module *m, apr_pool_t *p); 548 549 /** 550 * Remove a module from the server. There are some caveats 551 * when the module is removed, its slot is lost so all the current 552 * per-dir and per-server configurations are invalid. So we should 553 * only ever call this function when you are invalidating almost 554 * all our current data. I.e. when doing a restart. 555 * @param m the module structure of the module to remove 556 */ 557 AP_DECLARE(void) ap_remove_module(module *m); 558 /** 559 * Add a module to the chained modules list and the list of loaded modules 560 * @param m The module structure of the module to add 561 * @param p The pool with the same lifetime as the module 562 */ 563 AP_DECLARE(void) ap_add_loaded_module(module *mod, apr_pool_t *p); 564 /** 565 * Remove a module fromthe chained modules list and the list of loaded modules 566 * @param m the module structure of the module to remove 567 */ 568 AP_DECLARE(void) ap_remove_loaded_module(module *mod); 569 /** 570 * Add a module to the list of loaded module based on the name of the 571 * module 572 * @param name The name of the module 573 * @param p The pool valid for the lifetime of the module 574 * @return 1 on success, 0 on failure 575 */ 576 AP_DECLARE(int) ap_add_named_module(const char *name, apr_pool_t *p); 577 /** 578 * Find the name of the specified module 579 * @param m The module to get the name for 580 * @return the name of the module 581 */ 582 AP_DECLARE(const char *) ap_find_module_name(module *m); 583 /** 584 * Find a module based on the name of the module 585 * @param name the name of the module 586 * @return the module structure if found, NULL otherwise 587 */ 588 AP_DECLARE(module *) ap_find_linked_module(const char *name); 589 590 /** 591 * Open a ap_configfile_t as apr_file_t 592 * @param ret_cfg open ap_configfile_t struct pointer 593 * @param p The pool to allocate the structure from 594 * @param name the name of the file to open 595 */ 596 AP_DECLARE(apr_status_t) ap_pcfg_openfile(ap_configfile_t **ret_cfg, 597 apr_pool_t *p, const char *name); 598 599 /** 600 * Allocate a ap_configfile_t handle with user defined functions and params 601 * @param p The pool to allocate from 602 * @param descr The name of the file 603 * @param param The argument passed to getch/getstr/close 604 * @param getc_func The getch function 605 * @param gets_func The getstr function 606 * @param close_func The close function 607 */ 608 AP_DECLARE(ap_configfile_t *) ap_pcfg_open_custom(apr_pool_t *p, 609 const char *descr, 610 void *param, 611 int(*getc_func)(void*), 612 void *(*gets_func) (void *buf, size_t bufsiz, void *param), 613 int(*close_func)(void *param)); 614 615 /** 616 * Read one line from open ap_configfile_t, strip LF, increase line number 617 * @param buf place to store the line read 618 * @param bufsize size of the buffer 619 * @param cfp File to read from 620 * @return 1 on success, 0 on failure 621 */ 622 AP_DECLARE(int) ap_cfg_getline(char *buf, size_t bufsize, ap_configfile_t *cfp); 623 624 /** 625 * Read one char from open configfile_t, increase line number upon LF 626 * @param cfp The file to read from 627 * @return the character read 628 */ 629 AP_DECLARE(int) ap_cfg_getc(ap_configfile_t *cfp); 630 631 /** 632 * Detach from open ap_configfile_t, calling the close handler 633 * @param cfp The file to close 634 * @return 1 on sucess, 0 on failure 635 */ 636 AP_DECLARE(int) ap_cfg_closefile(ap_configfile_t *cfp); 637 638 /** 639 * Read all data between the current foo and the matching /foo . All 640 * of this data is forgotten immediately. 641 * @param cmd The cmd_parms to pass to the directives inside the container 642 * @param directive The directive name to read until 643 * @return Error string on failure, NULL on success 644 */ 645 AP_DECLARE(const char *) ap_soak_end_container(cmd_parms *cmd, char *directive); 646 647 /** 648 * Read all data between the current foo and the matching /foo and build 649 * a config tree from it 650 * @param p pool to allocate from 651 * @param temp_pool Temporary pool to allocate from 652 * @param parms The cmd_parms to pass to all directives read 653 * @param current The current node in the tree 654 * @param curr_parent The current parent node 655 * @param orig_directive The directive to read until hit. 656 * @return Error string on failure, NULL on success 657 */ 658 AP_DECLARE(const char *) ap_build_cont_config(apr_pool_t *p, 659 apr_pool_t *temp_pool, 660 cmd_parms *parms, 661 ap_directive_t **current, 662 ap_directive_t **curr_parent, 663 char *orig_directive); 664 665 /** 666 * Build a config tree from a config file 667 * @param parms The cmd_parms to pass to all of the directives in the file 668 * @param conf_pool The pconf pool 669 * @param temp_pool The temporary pool 670 * @param conftree Place to store the root node of the config tree 671 * @return Error string on erro, NULL otherwise 672 */ 673 AP_DECLARE(const char *) ap_build_config(cmd_parms *parms, 674 apr_pool_t *conf_pool, 675 apr_pool_t *temp_pool, 676 ap_directive_t **conftree); 677 678 /** 679 * Walk a config tree and setup the server s internal structures 680 * @param conftree The config tree to walk 681 * @param parms The cmd_parms to pass to all functions 682 * @param section_vector The per-section config vector. 683 * @return Error string on error, NULL otherwise 684 */ 685 AP_DECLARE(const char *) ap_walk_config(ap_directive_t *conftree, 686 cmd_parms *parms, 687 ap_conf_vector_t *section_vector); 688 689 /** 690 * @defgroup ap_check_cmd_context ap_check_cmd_context 691 * @{ 692 */ 693 /** 694 * Check the context a command is used in. 695 * @param cmd The command to check 696 * @param forbidden Where the command is forbidden. 697 * @return Error string on error, NULL on success 698 */ 699 AP_DECLARE(const char *) ap_check_cmd_context(cmd_parms *cmd, 700 unsigned forbidden); 701 702 #define NOT_IN_VIRTUALHOST 0x01 /** Forbidden in Virtualhost */ 703 #define NOT_IN_LIMIT 0x02 /** Forbidden in Limit */ 704 #define NOT_IN_DIRECTORY 0x04 /** Forbidden in Directory */ 705 #define NOT_IN_LOCATION 0x08 /** Forbidden in Location */ 706 #define NOT_IN_FILES 0x10 /** Forbidden in Files */ 707 /** Forbidden in Directory / Location / Files */ 708 #define NOT_IN_DIR_LOC_FILE (NOT_IN_DIRECTORY|NOT_IN_LOCATION|NOT_IN_FILES) 709 /** Forbidden in VirtualHost / Limit / Directory / Location / Files */ 710 #define GLOBAL_ONLY (NOT_IN_VIRTUALHOST|NOT_IN_LIMIT|NOT_IN_DIR_LOC_FILE) 711 712 /** @} */ 713 714 #ifdef CORE_PRIVATE 715 716 /** 717 * The topmost module in the list 718 * @defvar module *ap_top_module 719 */ 720 AP_DECLARE_DATA extern module *ap_top_module; 721 722 /** 723 * Array of all statically linked modules 724 * @defvar module *ap_prelinked_modules[] 725 */ 726 AP_DECLARE_DATA extern module *ap_prelinked_modules[]; 727 /** 728 * Array of all preloaded modules 729 * @defvar module *ap_preloaded_modules[] 730 */ 731 AP_DECLARE_DATA extern module *ap_preloaded_modules[]; 732 /** 733 * Array of all loaded modules 734 * @defvar module **ap_loaded_modules 735 */ 736 AP_DECLARE_DATA extern module **ap_loaded_modules; 737 738 /* For mod_so.c... */ 739 /** Run a single module s two create_config hooks 740 * @param p the pool to allocate from 741 * @param s The server to configure for. 742 * @param m The module to configure 743 */ 744 AP_DECLARE(void) ap_single_module_configure(apr_pool_t *p, server_rec *s, 745 module *m); 746 747 /* For http_main.c... */ 748 /** 749 * Add all of the prelinked modules into the loaded module list 750 * @param process The process that is currently running the server 751 */ 752 AP_DECLARE(void) ap_setup_prelinked_modules(process_rec *process); 753 754 /** 755 * Show the preloaded configuration directives, the help string explaining 756 * the directive arguments, in what module they are handled, and in 757 * what parts of the configuration they are allowed. Used for httpd -h. 758 */ 759 AP_DECLARE(void) ap_show_directives(void); 760 761 /** 762 * Show the preloaded module names. Used for httpd -l. 763 */ 764 AP_DECLARE(void) ap_show_modules(void); 765 766 /** 767 * Show the MPM name. Used in reporting modules such as mod_info to 768 * provide extra information to the user 769 */ 770 AP_DECLARE(const char *) ap_show_mpm(void); 771 772 /** 773 * Read all config files and setup the server 774 * @param process The process running the server 775 * @param temp_pool A pool to allocate temporary data from. 776 * @param config_name The name of the config file 777 * @param conftree Place to store the root of the config tree 778 * @return The setup server_rec list. 779 */ 780 AP_DECLARE(server_rec *) ap_read_config(process_rec *process, 781 apr_pool_t *temp_pool, 782 const char *config_name, 783 ap_directive_t **conftree); 784 785 /** 786 * Run all rewrite args hooks for loaded modules 787 * @param process The process currently running the server 788 */ 789 AP_DECLARE(void) ap_run_rewrite_args(process_rec *process); 790 791 /** 792 * Run the register hooks function for a specified module 793 * @param m The module to run the register hooks function fo 794 * @param p The pool valid for the lifetime of the module 795 */ 796 AP_DECLARE(void) ap_register_hooks(module *m, apr_pool_t *p); 797 798 /** 799 * Setup all virtual hosts 800 * @param p The pool to allocate from 801 * @param main_server The head of the server_rec list 802 */ 803 AP_DECLARE(void) ap_fixup_virtual_hosts(apr_pool_t *p, 804 server_rec *main_server); 805 806 /* For http_request.c... */ 807 808 /** 809 * Setup the config vector for a request_rec 810 * @param p The pool to allocate the config vector from 811 * @return The config vector 812 */ 813 AP_CORE_DECLARE(ap_conf_vector_t*) ap_create_request_config(apr_pool_t *p); 814 815 /** 816 * Setup the config vector for per dir module configs 817 * @param p The pool to allocate the config vector from 818 * @return The config vector 819 */ 820 AP_CORE_DECLARE(ap_conf_vector_t *) ap_create_per_dir_config(apr_pool_t *p); 821 822 /** 823 * Run all of the modules merge per dir config functions 824 * @param p The pool to pass to the merge functions 825 * @param base The base directory config structure 826 * @param new_conf The new directory config structure 827 */ 828 AP_CORE_DECLARE(ap_conf_vector_t*) ap_merge_per_dir_configs(apr_pool_t *p, 829 ap_conf_vector_t *base, 830 ap_conf_vector_t *new_conf); 831 832 /* For http_connection.c... */ 833 /** 834 * Setup the config vector for a connection_rec 835 * @param p The pool to allocate the config vector from 836 * @return The config vector 837 */ 838 AP_CORE_DECLARE(ap_conf_vector_t*) ap_create_conn_config(apr_pool_t *p); 839 840 /* For http_core.c... ( Directory command and virtual hosts) */ 841 842 /** 843 * parse an htaccess file 844 * @param resulting htaccess_result 845 * @param r The request currently being served 846 * @param override Which overrides are active 847 * @param path The path to the htaccess file 848 * @param access_name The list of possible names for .htaccess files 849 * int The status of the current request 850 */ 851 AP_CORE_DECLARE(int) ap_parse_htaccess(ap_conf_vector_t **result, 852 request_rec *r, int override, 853 const char *path, 854 const char *access_name); 855 856 /** 857 * Setup a virtual host 858 * @param p The pool to allocate all memory from 859 * @param hostname The hostname of the virtual hsot 860 * @param main_server The main server for this Apache configuration 861 * @param ps Place to store the new server_rec 862 * return Error string on error, NULL on success 863 */ 864 AP_CORE_DECLARE(const char *) ap_init_virtual_host(apr_pool_t *p, 865 const char *hostname, 866 server_rec *main_server, 867 server_rec **); 868 869 /** 870 * Process the config file for Apache 871 * @param s The server rec to use for the command parms 872 * @param fname The name of the config file 873 * @param conftree The root node of the created config tree 874 * @param p Pool for general allocation 875 * @param ptem Pool for temporary allocation 876 */ 877 AP_DECLARE(void) ap_process_resource_config(server_rec *s, const char *fname, 878 ap_directive_t **conftree, 879 apr_pool_t *p, apr_pool_t *ptemp); 880 881 /** 882 * Process all directives in the config tree 883 * @param s The server rec to use in the command parms 884 * @param conftree The config tree to process 885 * @param p The pool for general allocation 886 * @param ptemp The pool for temporary allocations 887 */ 888 AP_DECLARE(void) ap_process_config_tree(server_rec *s, ap_directive_t *conftree, 889 apr_pool_t *p, apr_pool_t *ptemp); 890 891 /* Module-method dispatchers, also for http_request.c */ 892 /** 893 * Run the handler phase of each module until a module accepts the 894 * responsibility of serving the request 895 * @param r The current request 896 * @return The status of the current request 897 */ 898 AP_CORE_DECLARE(int) ap_invoke_handler(request_rec *r); 899 900 /* for mod_perl */ 901 902 /** 903 * Find a given directive in a command_rec table 904 * @param name The directive to search for 905 * @param cmds The table to search 906 * @return The directive definition of the specified directive 907 */ 908 AP_CORE_DECLARE(const command_rec *) ap_find_command(const char *name, 909 const command_rec *cmds); 910 911 /** 912 * Find a given directive in a list module 913 * @param cmd_name The directive to search for 914 * @param mod The module list to search 915 * @return The directive definition of the specified directive 916 */ 917 AP_CORE_DECLARE(const command_rec *) ap_find_command_in_modules(const char *cmd_name, 918 module **mod); 919 920 /** 921 * Ask a module to create per-server and per-section (dir/loc/file) configs 922 * (if it hasn t happened already). The results are stored in the server s 923 * config, and the specified per-section config vector. 924 * @param server The server to operate upon. 925 * @param section_vector The per-section config vector. 926 * @param section Which section to create a config for. 927 * @param mod The module which is defining the config data. 928 * @param pconf A pool for all configuration allocations. 929 * @return The (new) per-section config data. 930 */ 931 AP_CORE_DECLARE(void *) ap_set_config_vectors(server_rec *server, 932 ap_conf_vector_t *section_vector, 933 const char *section, 934 module *mod, apr_pool_t *pconf); 935 936 #endif 937 938 /* Hooks */ 939 940 /** 941 * Run the header parser functions for each module 942 * @param r The current request 943 * @return OK or DECLINED 944 */ 945 AP_DECLARE_HOOK(int,header_parser,(request_rec *r)) 946 947 /** 948 * Run the pre_config function for each module 949 * @param pconf The config pool 950 * @param plog The logging streams pool 951 * @param ptemp The temporary pool 952 * @return OK or DECLINED on success anything else is a error 953 */ 954 AP_DECLARE_HOOK(int,pre_config,(apr_pool_t *pconf,apr_pool_t *plog, 955 apr_pool_t *ptemp)) 956 957 958 /** 959 * Run the post_config function for each module 960 * @param pconf The config pool 961 * @param plog The logging streams pool 962 * @param ptemp The temporary pool 963 * @param s The list of server_recs 964 * @return OK or DECLINED on success anything else is a error 965 */ 966 AP_DECLARE_HOOK(int,post_config,(apr_pool_t *pconf,apr_pool_t *plog, 967 apr_pool_t *ptemp,server_rec *s)) 968 969 /** 970 * Run the open_logs functions for each module 971 * @param pconf The config pool 972 * @param plog The logging streams pool 973 * @param ptemp The temporary pool 974 * @param s The list of server_recs 975 * @return OK or DECLINED on success anything else is a error 976 */ 977 AP_DECLARE_HOOK(int,open_logs,(apr_pool_t *pconf,apr_pool_t *plog, 978 apr_pool_t *ptemp,server_rec *s)) 979 980 /** 981 * Run the child_init functions for each module 982 * @param pchild The child pool 983 * @param s The list of server_recs in this server 984 */ 985 AP_DECLARE_HOOK(void,child_init,(apr_pool_t *pchild, server_rec *s)) 986 987 /** 988 * Run the handler functions for each module 989 * @param r The request_rec 990 * @remark non-wildcard handlers should HOOK_MIDDLE, wildcard HOOK_LAST 991 */ 992 AP_DECLARE_HOOK(int,handler,(request_rec *r)) 993 994 /** 995 * Run the quick handler functions for each module. The quick_handler 996 * is run before any other requests hooks are called (location_walk, 997 * directory_walk, access checking, et. al.). This hook was added 998 * to provide a quick way to serve content from a URI keyed cache. 999 * 1000 * @param r The request_rec 1001 * @param lookup_uri Controls whether the caller actually wants content or not. 1002 * lookup is set when the quick_handler is called out of 1003 * ap_sub_req_lookup_uri() 1004 */ 1005 AP_DECLARE_HOOK(int,quick_handler,(request_rec *r, int lookup_uri)) 1006 1007 /** 1008 * Retrieve the optional functions for each module. 1009 * This is run immediately before the server starts. Optional functions should 1010 * be registered during the hook registration phase. 1011 */ 1012 AP_DECLARE_HOOK(void,optional_fn_retrieve,(void)) 1013 1014 #ifdef __cplusplus 1015 } 1016 #endif 1017 1018 #endif /* !APACHE_HTTP_CONFIG_H */
https://w.atwiki.jp/naobe/pages/67.html
WEBアプリケーションに戻る タグ http //www.htmq.com/html/index.shtml 参照 radioタグとcheckboxタグ radioタグは1個選択可能。checkboxは複数選択可能 form action="/DynamicWEB/ShowDate" input type="checkbox" name="aaa" AAA br input type="checkbox" name="bbb" BBB br input type="checkbox" name="ccc" CCC br input type="submit" br /form 上記のリクエストは以下 ShowDateServlet start. key aaa, val[0] on key ccc, val[0] on 配列にする意味がないような。しかしこれが一般的な使い方でしょう。 配列を有効に活用するには以下の形式。 form action="/DynamicWEB/ShowDate" input type="checkbox" name="key" value="AAA" AAA br input type="checkbox" name="key" value="BBB" BBB br input type="checkbox" name="key" value="CCC" CCC br input type="submit" br /form 上記のリクエストは以下 key key, val[0] AAA key key, val[1] BBB diabled属性 HTML4.01では、inputタグ、TextAreaタグで使用可能。 divで画面を分割 head style type="text/css" #container{width 750px;text-align left;margin 0px auto;} #header{width 750px;margin 0px 0px 15px 0px;} !-- float 回りこみを許す -- #content{float left;width 590px;} #sidebar{float right;width 150px;padding 0px 0px 0px 10px;} !-- clear 回りこみを解除する -- #footer{clear both;width 750px;margin 15px 0px 15px 0px;} /style /head body div id="container" div id="header" ここがヘッダー /div div id="content" ここがコンテンツ /div div id="sidebar" ここがサイドバー /div div id="footer" ここがフッター /div /div /body 用語 項目 説明 備考 インライン要素 前後で改行されない ブロック要素 前後で改行される
https://w.atwiki.jp/cowbell/pages/15.html
インライン ブロック a リンクする ○ abbr 略語 ○ acronym 略語 ○ address アドレス ○ applet アプレット ○ area クリッカブルマップエリア b 太字 ○ base ベースURL basefont 基本フォント ○ bdo 国際化情報 ○ bgsound バックミュージック big 大きな太字 ○ blink 点滅文字 ○ blockquote 引用 ○ body 本文 br 開業 ○ button ボタン ○ caption テーブルの見出し center 中央揃え ○ cite 参照 ○ code コード ○ col テーブルのカラム設定 colgroup テーブルのカラムグループ設定 comment コメント dd 定義の説明 del 削除 dfn 定義 dir ディレクトリリスト div ブロック要素 dl 定義リスト dt 定義語 dm 強調 embed オブジェクトの埋め込み fieldset フィールドセット font フォント form フォーム frame フレーム frameset フレームセット h1 - h6 見出し head ヘッダ hr 水平線 html HTML文書 i イタリック文字 iframe インラインフレーム ilayer インラインレイヤ img イメージ input フォーム部品:入力欄 ins 挿入 isindex 検索フォーム kbd キーボード keygen 鍵の作成
https://w.atwiki.jp/cheapugg058/pages/16.html
Pryor also ran it in for a rushing score of his own If using Facebook is a good method of getting your message out and building your subscriber list is the ideal strategy to make money, is there any way to combine the two? Is there any way to use Facebook to create a great subscriber list?The typical way that a business person gets individuals to subscribe is by putting a opt-in form on their websiteauthomichael kors online r {line-height 22px;color #666;font-family Arial, Helvetica, sans-serif;} My facts and this story implicates former Gov Tailgating can be very enjoyableMarino appeared on the 27th position in the List of 100 Greatest Football Players Everybody was completely muddy, so muddy you couldn t see who was wearing what uniformmetadata span There are painted batting helmets that have flaming skulls, baseballs with growling faces and even depictions of famous players in action painted directly on the helmettwitter-inner-ditto238301605173284864 { background #fff; padding 10px 12px 10px 30px; margin 0; min-height 48px; color #000; font-size 22px !important; font-family Georgia, "Times New Roman", Times, serif; line-height 30px; -moz-border-radius 5px;www.michaelkorsoutletzc.com -webkit-border-radius 5px; } div The software has made it possible for me to watch the National Football League matches from virtually anywhere Sirius has over 125 commercial free channels2 rushing yards per game, second only to Nevada in the NCAA Football Bowl Subdivisioncom/profile_background_images/403364355/Twitter_IndyBG This year s first pick may be one of the biggest blunders in many years2012 (Monday) (Local Time)VolleyballMichael Turner Jersey Women s preliminariesChina v Turkey (09 30)Serbia v South Korea (11 30)Dominican Republic v Russia (14 45)USA v Brazil (16 45)Italy v Japan (20 00)Great Britain v Algeria (22 00)Sports fans and supporters around the globe watch London Olympic 2012 all game Live Streaming upauthor {line-height 20px;color #333;font-family Arial, Helvetica, sans-serif;} Instead a photographer will highlight your best features t[[Rob Gronkowski Jersey http //www.patriotsnflofficialstore.com]] o create a beautiful shot04 Earnings $1Tony ShaloubThis season ticket holder has more Emmys than youNFL Divisional Playoff Predictions This week it stands to reason that the task I face is far more daunting than the last She has also had a line of shoes and jewelry Restoring and maintaining resilience is often a matter of being in close contact with your physical and emotional statusCditto184461049246912513{background #9AE4E8Rob Gronkowski Jersey Rush sold concert tickets to 37 markets in the United States and Canadatwitter-inner-ditto221997961155067904 div Phillips seemed to be the star of the show last night, with way more camera time than Sanchez, although her simple rendition of “I Will Always Love You” rocked the house down and gave her fans some hope that perhaps she would sweep the night after allGetting cheap software discounts does not mean that the product you are getting is cheap and ill-madetimestamp a Just plan to have the food cooked at least an hour and a half before the game starts2012 National Football League Pre-Season Schedule (All times Eastern)Sunday, August 5Arizona vsreply span {background-position 0px 3px;} p Tommy Thompson (in bush s cabinet in Dept Hot subs such as meatball, pulled pork and Philly cheese steak are hot on the menu of many tailgaters Managing the promotional programs for the players and teamstimestamp {font-size 12px;display block;color #999;} pretweet span {background-position -80px 3px;} p He was in the mood to celebrate In the words of Jack Welch, former CEO of GE, "When you take on a leadership role, it s no longer about you, it s about themretweet span {background-position -80px 3px;} p Other than that, Morita was mostly a bit player, but one you would recognize on TV shows from Happy Days to Baywatch An attempt to collect and list down some of the interesting names is done in the following write updittoTweet span There are many different sites on the world wide web that need you to use interesting or cool screen names El Laberinto de la Soledad , a study of the Mexican identity and thought and his poetic works like Libertad de Pisis and Piedra de sol are some of his most famous contributions to Mexican literature It is sold in many health stores; it is even sold online through Amazon Unfortunately, the source didn’t go into very many specifics, though he did hint at something particularly good coming for those who will run iOS 6 on theMatt Ryan Jersey new iPad After that, they try to find such a source that would be reliable both in terms of originality of product as well as consistent fine-quality But I was only spending about $100 and I was sure whatever I got for that price was going to be better than the old beat up house cues that I had been using But then Sellers sprained an ankle and could not work in the cramped cockpit set3 billion at market exchange rates Yes, you read right you can go through the hiring process, both in the game and online, making it interesting and somewhat unnecessary for any but the most hardcore gamers NCAA Football 11 -Wikipedia The race, currently sponsored by Commerzbank, is Germany s oldest city marathon
https://w.atwiki.jp/nicepaper/pages/352.html
bootstrapのHTML整形。3月21日記事 目次 ひな形 CDN CSS CSS JavaScript ひな形 !DOCTYPE html html lang="ja" head meta charset="utf-8" meta http-equiv="X-UA-Compatible" content="IE=edge" meta name="viewport" content="width=device-width, initial-scale=1" !-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -- title ここにタイトル /title !-- Bootstrap -- link href="css/bootstrap.min.css" rel="stylesheet" !-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -- !-- WARNING Respond.js doesn t work if you view the page via file // -- !--[if lt IE 9] script src="https //oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js" /script script src="https //oss.maxcdn.com/respond/1.4.2/respond.min.js" /script ![endif]-- /head body !--ここにコンテンツ記述-- !-- jQuery (necessary for Bootstrap s JavaScript plugins) -- script src="https //ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js" /script !-- Include all compiled plugins (below), or include individual files as needed -- script src="js/bootstrap.min.js" /script /body /html CDN CSS !-- Latest compiled and minified CSS -- link rel="stylesheet" href="https //maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous" CSS !-- Optional theme -- link rel="stylesheet" href="https //maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous" JavaScript !-- Latest compiled and minified JavaScript -- script src="https //maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous" /script
https://w.atwiki.jp/sampleisbest/pages/42.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Win32 コンソール アプリケーション プロジェクト名 files アプリケーションの種類 コンソール アプリケーション 追加のオプション 空のプロジェクト 文字セット Unicode files.c #include fcntl.h // _O_WTEXT #include io.h // _setmode #include stdio.h // _fileno #include tchar.h int _tmain() { struct _wfinddata_tfileinfo; intptr_thandle; _setmode(_fileno(stdout), _O_WTEXT); handle = _tfindfirst(_T("*.*"), fileinfo); do { _tprintf(_T("%c %u %s\n"), (fileinfo.attrib _A_SUBDIR) ? _T( D ) _T( F ), fileinfo.size, fileinfo.name); } while (_tfindnext(handle, fileinfo) == 0); _findclose(handle); return 0; } 出力 D 0 . D 0 .. D 0 Debug F 486 files.c F 3914 files.vcxproj F 996 files.vcxproj.filters F 143 files.vcxproj.user F 0 ♥.txt